package com.freedom;

import com.freedom.base.interceptor.AuthInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author freedom
 */
@SpringBootApplication
@MapperScan("com.freedom.*.mapper")
@ServletComponentScan("com.freedom.base.listener")
public class ApplicationStarter implements WebMvcConfigurer {

    @Autowired
    private AuthInterceptor authInterceptor;

    public static void main ( String[] args ) {
        SpringApplication.run(ApplicationStarter.class, args);
    }

    @Override
    public void addInterceptors ( InterceptorRegistry registry ) {
        registry.addInterceptor(authInterceptor)
                .addPathPatterns("/**")
                .excludePathPatterns("/login", "/loginOut");
    }
}
